namespace java prototype.protocol.thrift

struct SessionStartRequest {
	1: required string ip,
}

struct SessionStartResponse {
	1: required string sessionId,
}

enum Presence {
	ACTIVE, AWAY, EXTENDED_AWAY, DO_NOT_DISTURB, OFFLINE,
}

struct PresenceUpdateRequest {
	1: required string sessionId,
	2: required Presence presence,
}

struct SessionEndRequest {
	1: required string sessionId,
}

union Requests {
	1: optional SessionStartRequest sessionStartRequest,
	2: optional PresenceUpdateRequest presenceUpdateRequest,
	3: optional SessionEndRequest sessionEndRequest,
}

union Response {
	1: optional SessionStartResponse sessionStartResponse,
}